﻿2026-08-28T15:28:40.9838643Z ##[group]Run npm test
2026-08-28T15:28:40.9839122Z [36;1mnpm test[0m
2026-08-28T15:28:40.9892859Z shell: /usr/bin/bash -e {0}
2026-08-28T15:28:40.9893301Z ##[endgroup]
2026-08-28T15:28:41.1413742Z 
2026-08-28T15:28:41.1421800Z > jarvis-finance-dashboard-vue@0.0.0 test
2026-08-28T15:28:41.1451363Z > vitest run --environment jsdom
2026-08-28T15:28:41.1470642Z 
2026-08-28T15:28:41.7603371Z 
2026-08-28T15:28:41.7607819Z [1m[30m[46m RUN [49m[39m[22m [36mv4.1.6 [39m[90m/home/runner/work/FinanceManager/FinanceManager/frontend[39m
2026-08-28T15:28:41.7609148Z 
2026-08-28T15:28:46.3413214Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders the canonical visual cockpit with reconciled KPIs, charts and drill-downs
2026-08-28T15:28:46.3415581Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:46.3430965Z   at <HouseholdTabs> 
2026-08-28T15:28:46.3471200Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:46.3490885Z   at <VTUROOT>
2026-08-28T15:28:46.3510737Z 
2026-08-28T15:28:46.7508332Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mexposes preset selection state and submits stable account IDs while displaying account names
2026-08-28T15:28:46.7536439Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:46.7601853Z   at <HouseholdTabs> 
2026-08-28T15:28:46.7631241Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:46.7670970Z   at <VTUROOT>
2026-08-28T15:28:46.7690654Z 
2026-08-28T15:28:47.0433194Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mcommits only the latest filter request when responses resolve out of order
2026-08-28T15:28:47.0522009Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:47.0561312Z   at <HouseholdTabs> 
2026-08-28T15:28:47.0629690Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:47.0711180Z   at <VTUROOT>
2026-08-28T15:28:47.0750847Z 
2026-08-28T15:28:47.2770141Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders comparison none neutrally without fabricated KPI, category or chart deltas
2026-08-28T15:28:47.2792473Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:47.2851231Z   at <HouseholdTabs> 
2026-08-28T15:28:47.2861002Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:47.2890925Z   at <VTUROOT>
2026-08-28T15:28:47.2912219Z 
2026-08-28T15:28:47.4867175Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders account-filtered budget scope as unavailable without progress or status claims
2026-08-28T15:28:47.4905822Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:47.4931029Z   at <HouseholdTabs> 
2026-08-28T15:28:47.4951112Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:47.4990845Z   at <VTUROOT>
2026-08-28T15:28:47.5050657Z 
2026-08-28T15:28:47.6630199Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses truthful empty states and does not mount an empty category chart
2026-08-28T15:28:47.6641426Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:47.6710948Z   at <HouseholdTabs> 
2026-08-28T15:28:47.6751315Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:47.6778675Z   at <VTUROOT>
2026-08-28T15:28:47.6800768Z 
2026-08-28T15:28:47.8515201Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mpersists the shared period, comparison and account filters in the URL
2026-08-28T15:28:47.8551668Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:47.8570980Z   at <HouseholdTabs> 
2026-08-28T15:28:47.8611200Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:47.8612468Z   at <VTUROOT>
2026-08-28T15:28:47.8630622Z 
2026-08-28T15:28:48.0359768Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mtreats a direct explicit date range as custom instead of relabeling it as the current month
2026-08-28T15:28:48.0391463Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:48.0392129Z   at <HouseholdTabs> 
2026-08-28T15:28:48.0392657Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:48.0393170Z   at <VTUROOT>
2026-08-28T15:28:48.0393415Z 
2026-08-28T15:28:48.2291356Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows partial-data and forecast transparency without inventing a result
2026-08-28T15:28:48.2301498Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:48.2341209Z   at <HouseholdTabs> 
2026-08-28T15:28:48.2381271Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:48.2390797Z   at <VTUROOT>
2026-08-28T15:28:48.2420734Z 
2026-08-28T15:28:48.4109321Z  [32m✓[39m src/components/performance/PortfolioPerformancePanel.test.ts [2m([22m[2m19 tests[22m[2m)[22m[33m 3210[2mms[22m[39m
2026-08-28T15:28:48.4132080Z      [33m[2m✓[22m[39m shows the five simple metrics and only one compact setup status [33m 415[2mms[22m[39m
2026-08-28T15:28:48.4151692Z      [33m[2m✓[22m[39m keeps setup collapsed and renders the True Wealth model as provisional without raw JSON [33m 316[2mms[22m[39m
2026-08-28T15:28:48.5037136Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2moffers all required transaction filters in a responsive card/list surface
2026-08-28T15:28:48.5039287Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:48.5065162Z   at <HouseholdTabs> 
2026-08-28T15:28:48.5081007Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:48.5100926Z   at <VTUROOT>
2026-08-28T15:28:48.5117084Z 
2026-08-28T15:28:48.6636864Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2minherits custom dates and all selected cockpit accounts in transaction drill-downs
2026-08-28T15:28:48.6691738Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:48.6710833Z   at <HouseholdTabs> 
2026-08-28T15:28:48.6731133Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:48.6773459Z   at <VTUROOT>
2026-08-28T15:28:48.6790698Z 
2026-08-28T15:28:48.8103015Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders stored signed expenses with exactly one semantic minus
2026-08-28T15:28:48.8111448Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:48.8151001Z   at <HouseholdTabs> 
2026-08-28T15:28:48.8191142Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:48.8230916Z   at <VTUROOT>
2026-08-28T15:28:48.8250619Z 
2026-08-28T15:28:48.9409480Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdistinguishes filtered transaction emptiness from API failures and global emptiness
2026-08-28T15:28:48.9431339Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:48.9432324Z   at <HouseholdTabs> 
2026-08-28T15:28:48.9451180Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:48.9451815Z   at <VTUROOT>
2026-08-28T15:28:48.9452044Z 
2026-08-28T15:28:49.0594348Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdistinguishes filtered transaction emptiness from API failures and global emptiness
2026-08-28T15:28:49.0611531Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:49.0629421Z   at <HouseholdTabs> 
2026-08-28T15:28:49.0641119Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:49.0691186Z   at <VTUROOT>
2026-08-28T15:28:49.0710965Z 
2026-08-28T15:28:49.2342238Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses cursor pagination and keeps the true transaction totals visible
2026-08-28T15:28:49.2364425Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:49.2411157Z   at <HouseholdTabs> 
2026-08-28T15:28:49.2436807Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:49.2520991Z   at <VTUROOT>
2026-08-28T15:28:49.2584889Z 
2026-08-28T15:28:49.4312977Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrestarts transaction pagination when the server rejects a stale snapshot cursor
2026-08-28T15:28:49.4331494Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:49.4350902Z   at <HouseholdTabs> 
2026-08-28T15:28:49.4351547Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:49.4352174Z   at <VTUROOT>
2026-08-28T15:28:49.4352455Z 
2026-08-28T15:28:49.6533184Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdoes not rewrite the destination URL when a transaction request resolves after unmount
2026-08-28T15:28:49.6571469Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:49.6600981Z   at <HouseholdTabs> 
2026-08-28T15:28:49.6661188Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:49.6689452Z   at <VTUROOT>
2026-08-28T15:28:49.6700643Z 
2026-08-28T15:28:49.7747513Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows review success only for canonical zero and keeps filtered zero distinct
2026-08-28T15:28:49.7771538Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:49.7772499Z   at <HouseholdTabs> 
2026-08-28T15:28:49.7791097Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:49.7810975Z   at <VTUROOT>
2026-08-28T15:28:49.7830760Z 
2026-08-28T15:28:49.8876645Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows review success only for canonical zero and keeps filtered zero distinct
2026-08-28T15:28:49.8891394Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:49.8910978Z   at <HouseholdTabs> 
2026-08-28T15:28:49.8931013Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:49.8940806Z   at <VTUROOT>
2026-08-28T15:28:49.8950759Z 
2026-08-28T15:28:50.0492346Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows review success only for canonical zero and keeps filtered zero distinct
2026-08-28T15:28:50.0494662Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:50.0541176Z   at <HouseholdTabs> 
2026-08-28T15:28:50.0583410Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:50.0584923Z   at <VTUROOT>
2026-08-28T15:28:50.0660817Z 
2026-08-28T15:28:50.1962671Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses global review source facets and ignores responses from obsolete filters
2026-08-28T15:28:50.1964754Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:50.1980960Z   at <HouseholdTabs> 
2026-08-28T15:28:50.2000951Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:50.2020786Z   at <VTUROOT>
2026-08-28T15:28:50.2021198Z 
2026-08-28T15:28:50.4905482Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrequests the server-side decision union and restarts a stale review cursor
2026-08-28T15:28:50.4931568Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:50.4932552Z   at <HouseholdTabs> 
2026-08-28T15:28:50.4950988Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:50.4970821Z   at <VTUROOT>
2026-08-28T15:28:50.4990695Z 
2026-08-28T15:28:50.6954895Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mhonors confirmability and offers only amount-compatible categories
2026-08-28T15:28:50.6981346Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:50.7048609Z   at <HouseholdTabs> 
2026-08-28T15:28:50.7151106Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:50.7210905Z   at <VTUROOT>
2026-08-28T15:28:50.7270535Z 
2026-08-28T15:28:50.8572808Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses the compact smart inbox and fingerprint-bound batch confirmation
2026-08-28T15:28:50.8611556Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:50.8640635Z   at <HouseholdTabs> 
2026-08-28T15:28:50.8681072Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:50.8686780Z   at <VTUROOT>
2026-08-28T15:28:50.8721180Z 
2026-08-28T15:28:51.1823865Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mnever submits selected rows hidden by the active tab or filters
2026-08-28T15:28:51.1887664Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:51.1941339Z   at <HouseholdTabs> 
2026-08-28T15:28:51.2021341Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:51.2070881Z   at <VTUROOT>
2026-08-28T15:28:51.2130589Z 
2026-08-28T15:28:51.2294854Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses the human-visible final preview for a single-row confirmation
2026-08-28T15:28:51.2344238Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:51.2393928Z   at <HouseholdTabs> 
2026-08-28T15:28:51.2454134Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:51.2457362Z   at <VTUROOT>
2026-08-28T15:28:51.2457820Z 
2026-08-28T15:28:51.5284990Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mchanges a normal review category inline and keeps details contextual and privacy-safe
2026-08-28T15:28:51.5288890Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:51.5310995Z   at <HouseholdTabs> 
2026-08-28T15:28:51.5330996Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:51.5340941Z   at <VTUROOT>
2026-08-28T15:28:51.5370840Z 
2026-08-28T15:28:51.7128576Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbinds duplicate decisions to the loaded review snapshot and preview metadata
2026-08-28T15:28:51.7147899Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:51.7161010Z   at <HouseholdTabs> 
2026-08-28T15:28:51.7182652Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:51.7183432Z   at <VTUROOT>
2026-08-28T15:28:51.7183829Z 
2026-08-28T15:28:51.9682834Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mloads excluded duplicates through the audited reopen contract
2026-08-28T15:28:51.9711423Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:51.9730930Z   at <HouseholdTabs> 
2026-08-28T15:28:51.9750999Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:51.9770953Z   at <VTUROOT>
2026-08-28T15:28:51.9820658Z 
2026-08-28T15:28:52.1943013Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mreads CSV locally and sends the same input only for fingerprint-bound preview then confirm
2026-08-28T15:28:52.1959956Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:52.1997481Z   at <HouseholdTabs> 
2026-08-28T15:28:52.2020089Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:52.2080972Z   at <VTUROOT>
2026-08-28T15:28:52.2140650Z 
2026-08-28T15:28:52.4532158Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mcollects inline category drafts and confirms only the applied fingerprints
2026-08-28T15:28:52.4541409Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:52.4561058Z   at <HouseholdTabs> 
2026-08-28T15:28:52.4563306Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:52.4600941Z   at <VTUROOT>
2026-08-28T15:28:52.4620627Z 
2026-08-28T15:28:52.7615175Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbinds explicit row confirmation to the selected category before economic confirm
2026-08-28T15:28:52.7631485Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:52.7632208Z   at <HouseholdTabs> 
2026-08-28T15:28:52.7632793Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:52.7633383Z   at <VTUROOT>
2026-08-28T15:28:52.7633674Z 
2026-08-28T15:28:53.1242670Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mregisters non-business-ready rows only as review candidates
2026-08-28T15:28:53.1281396Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:53.1320871Z   at <HouseholdTabs> 
2026-08-28T15:28:53.1381078Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:53.1420925Z   at <VTUROOT>
2026-08-28T15:28:53.1440618Z 
2026-08-28T15:28:53.3209894Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mkeeps the applied preview and local draft when applying decisions fails
2026-08-28T15:28:53.3232039Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:53.3270781Z   at <HouseholdTabs> 
2026-08-28T15:28:53.3301100Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:53.3312478Z   at <VTUROOT>
2026-08-28T15:28:53.3313040Z 
2026-08-28T15:28:53.5643070Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders explicit draft removals and omits removed applied decisions on Apply
2026-08-28T15:28:53.5670104Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:53.5671368Z   at <HouseholdTabs> 
2026-08-28T15:28:53.5672098Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:53.5672802Z   at <VTUROOT>
2026-08-28T15:28:53.5673241Z 
2026-08-28T15:28:53.8343360Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbinds merchant-cluster decisions, row exclusions, unmatched-transfer decisions and business readiness
2026-08-28T15:28:53.8363458Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:53.8371198Z   at <HouseholdTabs> 
2026-08-28T15:28:53.8391175Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:53.8400880Z   at <VTUROOT>
2026-08-28T15:28:53.8410907Z 
2026-08-28T15:28:54.4467125Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbuilds one fingerprint-bound request from four replaceable source files
2026-08-28T15:28:54.4749648Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:54.4811046Z   at <HouseholdTabs> 
2026-08-28T15:28:54.5032311Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:54.5321447Z   at <VTUROOT>
2026-08-28T15:28:54.5380674Z 
2026-08-28T15:28:54.7037739Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mkeeps proposals inspectable and returns excluded cluster outliers to the individual inbox
2026-08-28T15:28:54.7267915Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:54.7268657Z   at <HouseholdTabs> 
2026-08-28T15:28:54.7291387Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:54.7301034Z   at <VTUROOT>
2026-08-28T15:28:54.7304480Z 
2026-08-28T15:28:54.8993892Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdiscards an in-flight preview response after its local input binding changes
2026-08-28T15:28:54.8996081Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:54.9212216Z   at <HouseholdTabs> 
2026-08-28T15:28:54.9213439Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:54.9421949Z   at <VTUROOT>
2026-08-28T15:28:54.9422761Z 
2026-08-28T15:28:55.0692407Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2minvalidates the old confirmable preview as soon as replacement file reading starts
2026-08-28T15:28:55.0700088Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:55.0701075Z   at <HouseholdTabs> 
2026-08-28T15:28:55.0701611Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:55.0740768Z   at <VTUROOT>
2026-08-28T15:28:55.0741008Z 
2026-08-28T15:28:55.2683830Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mkeeps a failed replacement empty and enforces the aggregate request limit
2026-08-28T15:28:55.2686218Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:55.2932213Z   at <HouseholdTabs> 
2026-08-28T15:28:55.2933354Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:55.3172046Z   at <VTUROOT>
2026-08-28T15:28:55.3172939Z 
2026-08-28T15:28:55.4236860Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mresets decision pagination after applying a bound category draft
2026-08-28T15:28:55.4239224Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:55.4522074Z   at <HouseholdTabs> 
2026-08-28T15:28:55.4523300Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:55.4721929Z   at <VTUROOT>
2026-08-28T15:28:55.4722642Z 
2026-08-28T15:28:55.6849862Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdiscards a stale file-reader completion after a newer replacement wins
2026-08-28T15:28:55.6852565Z  [32m✓[39m src/pages/HouseholdUx.test.ts [2m([22m[2m41 tests[22m[2m)[22m[33m 9780[2mms[22m[39m
2026-08-28T15:28:55.6863394Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:28:55.6864997Z      [33m[2m✓[22m[39m renders the canonical visual cockpit with reconciled KPIs, charts and drill-downs [33m 643[2mms[22m[39m
2026-08-28T15:28:55.7272202Z   at <HouseholdTabs> 
2026-08-28T15:28:55.7274078Z      [33m[2m✓[22m[39m exposes preset selection state and submits stable account IDs while displaying account names [33m 306[2mms[22m[39m
2026-08-28T15:28:55.7300935Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:55.7302503Z      [33m[2m✓[22m[39m shows review success only for canonical zero and keeps filtered zero distinct [33m 415[2mms[22m[39m
2026-08-28T15:28:55.7652234Z   at <VTUROOT>
2026-08-28T15:28:55.7653840Z      [33m[2m✓[22m[39m uses the compact smart inbox and fingerprint-bound batch confirmation [33m 341[2mms[22m[39m
2026-08-28T15:28:55.7654697Z 
2026-08-28T15:28:55.7671844Z      [33m[2m✓[22m[39m collects inline category drafts and confirms only the applied fingerprints [33m 305[2mms[22m[39m
2026-08-28T15:28:55.7953214Z      [33m[2m✓[22m[39m binds explicit row confirmation to the selected category before economic confirm [33m 366[2mms[22m[39m
2026-08-28T15:28:55.7956082Z      [33m[2m✓[22m[39m binds merchant-cluster decisions, row exclusions, unmatched-transfer decisions and business readiness [33m 538[2mms[22m[39m
2026-08-28T15:28:56.7662734Z [90mstderr[2m | src/pages/BudgetUxV2.test.ts[2m > [22m[2mBudget UX v2[2m > [22m[2mshows simplified category buckets and merge preview section
2026-08-28T15:28:56.7691450Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:28:56.7711813Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:28:56.7730847Z   at <HouseholdTabs> 
2026-08-28T15:28:56.7770984Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:28:56.7790825Z   at <VTUROOT>
2026-08-28T15:28:56.7810799Z 
2026-08-28T15:28:56.9682354Z  [32m✓[39m src/pages/BudgetUxV2.test.ts [2m([22m[2m10 tests[22m[2m)[22m[33m 5034[2mms[22m[39m
2026-08-28T15:28:56.9688694Z      [33m[2m✓[22m[39m opens confirmed expenses only through the safe transaction-token drawer [33m 1093[2mms[22m[39m
2026-08-28T15:28:56.9729119Z      [33m[2m✓[22m[39m shows review candidates without technical user-mode fields [33m 1125[2mms[22m[39m
2026-08-28T15:28:56.9765916Z      [33m[2m✓[22m[39m uses ConfirmDialog and success Toast for risky review confirm actions [33m 938[2mms[22m[39m
2026-08-28T15:28:56.9768051Z      [33m[2m✓[22m[39m renders category analysis and links category drilldown to data explorer [33m 614[2mms[22m[39m
2026-08-28T15:28:56.9770689Z      [33m[2m✓[22m[39m keeps budget vs actual separated from import review and based on budget status rows [33m 323[2mms[22m[39m
2026-08-28T15:28:59.9502257Z  [32m✓[39m src/pages/CryptoPage.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1246[2mms[22m[39m
2026-08-28T15:28:59.9506237Z      [33m[2m✓[22m[39m auto-loads crypto positions and opens detail drawer from a row click [33m 568[2mms[22m[39m
2026-08-28T15:29:00.5846446Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mrenders Budget Overview with current month KPIs and latest transactions
2026-08-28T15:29:00.5861507Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:00.5871716Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:00.5888902Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:00.5900948Z   at <VTUROOT>
2026-08-28T15:29:00.5930969Z 
2026-08-28T15:29:00.6823642Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mrenders Budget Overview with current month KPIs and latest transactions
2026-08-28T15:29:00.6825724Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:00.6841758Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:00.6861089Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:00.6880918Z   at <VTUROOT>
2026-08-28T15:29:00.6890613Z 
2026-08-28T15:29:01.4740070Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mrenders transactions workflow and confirms via API after preview summary
2026-08-28T15:29:01.4771087Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:01.4790985Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:01.4791665Z   at <VTUROOT>
2026-08-28T15:29:01.4811456Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:01.4812208Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:01.4812792Z   at <VTUROOT>
2026-08-28T15:29:01.4813448Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:01.4814217Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:01.4814795Z   at <VTUROOT>
2026-08-28T15:29:01.4815042Z 
2026-08-28T15:29:01.9082752Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2msupports category preview confirm workflows without exposing raw IDs
2026-08-28T15:29:01.9101324Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:01.9101982Z   at <HouseholdTabs> 
2026-08-28T15:29:01.9102481Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:01.9102994Z   at <VTUROOT>
2026-08-28T15:29:01.9103507Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:01.9105232Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:01.9106202Z   at <HouseholdTabs> 
2026-08-28T15:29:01.9106862Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:01.9107365Z   at <VTUROOT>
2026-08-28T15:29:01.9107614Z 
2026-08-28T15:29:02.1443004Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mopens the zero-based category chart and month drilldown with a household transaction list
2026-08-28T15:29:02.1481442Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:02.1520868Z   at <HouseholdTabs> 
2026-08-28T15:29:02.1560993Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:02.1580868Z   at <VTUROOT>
2026-08-28T15:29:02.1620805Z 
2026-08-28T15:29:02.3429471Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mkeeps zero months at zero and omits the budget line when a category is not budgeted
2026-08-28T15:29:02.3431664Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:02.3437916Z   at <HouseholdTabs> 
2026-08-28T15:29:02.3438647Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:02.3439839Z   at <VTUROOT>
2026-08-28T15:29:02.3444682Z  [32m✓[39m src/pages/BudgetPhase1.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 2607[2mms[22m[39m
2026-08-28T15:29:02.3445756Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:02.3447042Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:02.3448013Z   at <HouseholdTabs> 
2026-08-28T15:29:02.3448496Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:02.3448921Z   at <VTUROOT>
2026-08-28T15:29:02.3449058Z 
2026-08-28T15:29:02.3454919Z      [33m[2m✓[22m[39m renders Budget Overview with current month KPIs and latest transactions [33m 904[2mms[22m[39m
2026-08-28T15:29:02.3491796Z      [33m[2m✓[22m[39m renders transactions workflow and confirms via API after preview summary [33m 843[2mms[22m[39m
2026-08-28T15:29:03.1715312Z  [32m✓[39m src/components/portfolio-data/DataIngestionReconciliationPanel.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 765[2mms[22m[39m
2026-08-28T15:29:05.2903348Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mrenders Budget Übersicht as monthly cockpit, not category status table
2026-08-28T15:29:05.2921736Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:05.2961757Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:05.2988614Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:05.3042409Z   at <VTUROOT>
2026-08-28T15:29:05.3061091Z 
2026-08-28T15:29:05.4747873Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mrenders Budget Übersicht as monthly cockpit, not category status table
2026-08-28T15:29:05.4768801Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:05.4791844Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:05.4793261Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:05.4811071Z   at <VTUROOT>
2026-08-28T15:29:05.4830905Z 
2026-08-28T15:29:06.2293433Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-28T15:29:06.2331532Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:06.2405553Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:06.2449179Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:06.2470961Z   at <VTUROOT>
2026-08-28T15:29:06.2490640Z 
2026-08-28T15:29:06.3443337Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-28T15:29:06.3448092Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:06.3478235Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:06.3479573Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:06.3519717Z   at <VTUROOT>
2026-08-28T15:29:06.3538294Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:06.3541819Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:06.3543303Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:06.3567345Z   at <VTUROOT>
2026-08-28T15:29:06.3585722Z 
2026-08-28T15:29:06.3860863Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-28T15:29:06.3863330Z [22m[39mFailed to create chart: can't acquire context from the given item
2026-08-28T15:29:06.3890651Z 
2026-08-28T15:29:07.0606834Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-28T15:29:07.0621504Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:07.0637286Z   at <HouseholdTabs> 
2026-08-28T15:29:07.0639862Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:07.0701184Z   at <VTUROOT>
2026-08-28T15:29:07.0731529Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:07.0787679Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:07.0866220Z   at <HouseholdTabs> 
2026-08-28T15:29:07.0867010Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:07.0867518Z   at <VTUROOT>
2026-08-28T15:29:07.0867716Z 
2026-08-28T15:29:07.2313167Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mrenders Budgetstatus as operational category control with row-click monthly chart
2026-08-28T15:29:07.2331569Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:07.2350825Z   at <HouseholdTabs> 
2026-08-28T15:29:07.2351450Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:07.2410960Z   at <VTUROOT>
2026-08-28T15:29:07.2851817Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:07.2905951Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:07.3195583Z   at <HouseholdTabs> 
2026-08-28T15:29:07.3230975Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:07.3431501Z   at <VTUROOT>
2026-08-28T15:29:07.3691121Z 
2026-08-28T15:29:07.4242828Z  [32m✓[39m src/pages/PortfolioPage.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1208[2mms[22m[39m
2026-08-28T15:29:07.4425889Z      [33m[2m✓[22m[39m shows the simplified modelled cockpit without trading UI [33m 650[2mms[22m[39m
2026-08-28T15:29:07.7876782Z  [32m✓[39m src/pages/BudgetAnalyticsDashboardV2.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 3239[2mms[22m[39m
2026-08-28T15:29:07.8062824Z      [33m[2m✓[22m[39m renders Budget Übersicht as monthly cockpit, not category status table [33m 1236[2mms[22m[39m
2026-08-28T15:29:07.8064919Z      [33m[2m✓[22m[39m shows financial quality warnings instead of presenting partial zeroes as complete [33m 1365[2mms[22m[39m
2026-08-28T15:29:07.8091904Z      [33m[2m✓[22m[39m renders Budget vs Ist as analysis page with distinct charts and top deviations [33m 459[2mms[22m[39m
2026-08-28T15:29:11.3519258Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mshows source-aware review tabs and candidate type actions
2026-08-28T15:29:11.3521796Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:11.3601260Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:11.3660901Z   at <VTUROOT>
2026-08-28T15:29:11.3701261Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:11.3721060Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:11.3771090Z   at <VTUROOT>
2026-08-28T15:29:11.3901251Z 
2026-08-28T15:29:11.6718674Z  [32m✓[39m src/pages/VueCockpitV11.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 1603[2mms[22m[39m
2026-08-28T15:29:11.6741793Z      [33m[2m✓[22m[39m supports equity search, visible Zusammenfassung prüfen review and final confirm [33m 364[2mms[22m[39m
2026-08-28T15:29:11.6752276Z      [33m[2m✓[22m[39m opens equity detail drawer with explicit market-data controls and no unfinished trading actions [33m 650[2mms[22m[39m
2026-08-28T15:29:12.5244225Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mmarks a candidate as credit card payment through audited type action
2026-08-28T15:29:12.5262630Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:12.5281330Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:12.5290870Z   at <VTUROOT>
2026-08-28T15:29:12.5311112Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:12.5321127Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:12.5321750Z   at <VTUROOT>
2026-08-28T15:29:12.5322027Z 
2026-08-28T15:29:13.7493508Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mshows bulk toolbar state, applies category to selected candidates, and keeps partial feedback visible
2026-08-28T15:29:13.7515487Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:13.7575025Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:13.7681109Z   at <VTUROOT>
2026-08-28T15:29:13.7721436Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:13.7760997Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:13.7820918Z   at <VTUROOT>
2026-08-28T15:29:13.7860649Z 
2026-08-28T15:29:15.0233345Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mopens bulk confirm preview dialog and disables final confirm when blockers exist
2026-08-28T15:29:15.0251583Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:15.0281325Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:15.0311197Z   at <VTUROOT>
2026-08-28T15:29:15.0331452Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:15.0371131Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:15.0390994Z   at <VTUROOT>
2026-08-28T15:29:15.0416006Z 
2026-08-28T15:29:15.3472572Z  [32m✓[39m src/pages/BudgetIncomePage.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 1321[2mms[22m[39m
2026-08-28T15:29:15.3476695Z      [33m[2m✓[22m[39m shows tabs, household summary, empty editable ERNE template and mobile cards [33m 411[2mms[22m[39m
2026-08-28T15:29:16.1300678Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mkeeps duplicate candidates out of normal confirm actions and shows duplicate review actions only
2026-08-28T15:29:16.1303295Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:16.1321209Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:16.1340957Z   at <VTUROOT>
2026-08-28T15:29:16.1381289Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:16.1401005Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:16.1412115Z   at <VTUROOT>
2026-08-28T15:29:16.1430727Z 
2026-08-28T15:29:17.2003221Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mrequires a reason and calls the duplicate override endpoint explicitly
2026-08-28T15:29:17.2005600Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:17.2021039Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:17.2040860Z   at <VTUROOT>
2026-08-28T15:29:17.2041812Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:17.2061098Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:17.2080862Z   at <VTUROOT>
2026-08-28T15:29:17.2100762Z 
2026-08-28T15:29:18.5178119Z  [32m✓[39m src/pages/PositionAddPage.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 981[2mms[22m[39m
2026-08-28T15:29:18.5211956Z      [33m[2m✓[22m[39m renders a clear seven-step PrimeVue-style wizard shell before provider actions [33m 318[2mms[22m[39m
2026-08-28T15:29:18.5753621Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mrenders both sides as one transfer pair and confirms only the pair contract
2026-08-28T15:29:18.5761472Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:18.5781202Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:18.5782554Z   at <VTUROOT>
2026-08-28T15:29:18.5821241Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:18.5822489Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:18.5840937Z   at <VTUROOT>
2026-08-28T15:29:18.5860623Z 
2026-08-28T15:29:19.0835251Z  [32m✓[39m src/pages/BudgetImportProductionV2.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 8985[2mms[22m[39m
2026-08-28T15:29:19.0861910Z      [33m[2m✓[22m[39m shows source-aware review tabs and candidate type actions [33m 1663[2mms[22m[39m
2026-08-28T15:29:19.0897954Z      [33m[2m✓[22m[39m marks a candidate as credit card payment through audited type action [33m 1158[2mms[22m[39m
2026-08-28T15:29:19.0912058Z      [33m[2m✓[22m[39m shows bulk toolbar state, applies category to selected candidates, and keeps partial feedback visible [33m 1306[2mms[22m[39m
2026-08-28T15:29:19.0921685Z      [33m[2m✓[22m[39m opens bulk confirm preview dialog and disables final confirm when blockers exist [33m 1349[2mms[22m[39m
2026-08-28T15:29:19.0923523Z      [33m[2m✓[22m[39m keeps duplicate candidates out of normal confirm actions and shows duplicate review actions only [33m 1046[2mms[22m[39m
2026-08-28T15:29:19.0925292Z      [33m[2m✓[22m[39m requires a reason and calls the duplicate override endpoint explicitly [33m 1368[2mms[22m[39m
2026-08-28T15:29:19.0926935Z      [33m[2m✓[22m[39m renders both sides as one transfer pair and confirms only the pair contract [33m 1092[2mms[22m[39m
2026-08-28T15:29:21.8332241Z  [32m✓[39m src/pages/BudgetPlanningPage.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1094[2mms[22m[39m
2026-08-28T15:29:21.8351803Z      [33m[2m✓[22m[39m uses 2025 by default and distinguishes missing from confirmed zero [33m 521[2mms[22m[39m
2026-08-28T15:29:22.2652665Z [90mstderr[2m | src/pages/MobileUx.test.ts[2m > [22m[2mVue mobile UX v1[2m > [22m[2muses mobile-safe layout shell padding and bottom nav space
2026-08-28T15:29:22.2691591Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:22.2692402Z   at <AppLayout ref="VTU_COMPONENT" > 
2026-08-28T15:29:22.2730850Z   at <VTUROOT>
2026-08-28T15:29:22.2760706Z 
2026-08-28T15:29:22.4312960Z [90mstderr[2m | src/pages/MobileUx.test.ts[2m > [22m[2mVue mobile UX v1[2m > [22m[2mrenders Budgetstatus mobile cards without long decimals or technical IDs
2026-08-28T15:29:22.4542405Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:22.4560972Z   at <HouseholdTabs> 
2026-08-28T15:29:22.4631544Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:22.4690780Z   at <VTUROOT>
2026-08-28T15:29:22.4746469Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:22.4747930Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:22.4971980Z   at <HouseholdTabs> 
2026-08-28T15:29:22.5286314Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:22.5511998Z   at <VTUROOT>
2026-08-28T15:29:22.5576072Z 
2026-08-28T15:29:23.0916918Z [90mstderr[2m | src/pages/MobileUx.test.ts[2m > [22m[2mVue mobile UX v1[2m > [22m[2mrenders mobile expense cards and non-clickable coming-soon receipt hints
2026-08-28T15:29:23.1103038Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:23.1282101Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:23.1282869Z   at <VTUROOT>
2026-08-28T15:29:23.1532214Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:23.1742320Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:23.2002268Z   at <VTUROOT>
2026-08-28T15:29:23.2251835Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:23.2562301Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:23.2682046Z   at <VTUROOT>
2026-08-28T15:29:23.2689886Z 
2026-08-28T15:29:23.3391814Z  [31m❯[39m src/pages/MobileUx.test.ts [2m([22m[2m5 tests[22m[2m | [22m[31m1 failed[39m[2m)[22m[33m 1736[2mms[22m[39m
2026-08-28T15:29:23.3765315Z      [32m✓[39m keeps desktop sidebar but exposes the four compact mobile areas[32m 281[2mms[22m[39m
2026-08-28T15:29:23.3767673Z      [33m[2m✓[22m[39m uses mobile-safe layout shell padding and bottom nav space [33m 393[2mms[22m[39m
2026-08-28T15:29:23.4023017Z      [32m✓[39m renders Budgetstatus mobile cards without long decimals or technical IDs[32m 189[2mms[22m[39m
2026-08-28T15:29:23.4025275Z      [33m[2m✓[22m[39m renders mobile expense cards and non-clickable coming-soon receipt hints [33m 782[2mms[22m[39m
2026-08-28T15:29:23.4203773Z [31m     [31m×[31m renders crypto and equity mobile cards with table fallback hidden on small screens[39m[32m 87[2mms[22m[39m
2026-08-28T15:29:24.8641320Z  [32m✓[39m src/components/wealth/WealthCockpitPanel.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 869[2mms[22m[39m
2026-08-28T15:29:24.8681912Z      [33m[2m✓[22m[39m shows the model chart with two points while verified performance remains blocked [33m 600[2mms[22m[39m
2026-08-28T15:29:26.9832574Z  [32m✓[39m src/pages/ReadOnlySurfaces.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1117[2mms[22m[39m
2026-08-28T15:29:26.9852246Z      [33m[2m✓[22m[39m Portfolio page auto-loads the read-only wealth cockpit without trading surfaces [33m 669[2mms[22m[39m
2026-08-28T15:29:28.0007556Z  [32m✓[39m src/components/policy/PortfolioPolicyManager.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 847[2mms[22m[39m
2026-08-28T15:29:28.0032051Z      [33m[2m✓[22m[39m forwards preview identifiers and the displayed payload unchanged [33m 387[2mms[22m[39m
2026-08-28T15:29:29.7655775Z  [32m✓[39m src/pages/CashTrueWealthManagement.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 647[2mms[22m[39m
2026-08-28T15:29:31.5633270Z  [32m✓[39m src/pages/PostFinancePage.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1003[2mms[22m[39m
2026-08-28T15:29:33.2722325Z  [32m✓[39m src/pages/EquitySprint11.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1298[2mms[22m[39m
2026-08-28T15:29:33.2772342Z      [33m[2m✓[22m[39m shows all 22 positions, honest partial value and all 14 missing rows without provider calls on render [33m 474[2mms[22m[39m
2026-08-28T15:29:33.2801985Z      [33m[2m✓[22m[39m separates view reload, full-refresh dry-run, bound apply and per-position refresh dates [33m 441[2mms[22m[39m
2026-08-28T15:29:34.6036685Z  [32m✓[39m src/pages/BudgetGroceryOptimizerPage.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 571[2mms[22m[39m
2026-08-28T15:29:36.9971927Z  [32m✓[39m src/api/household.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 20[2mms[22m[39m
2026-08-28T15:29:37.0756906Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders effective expenses with Geldfluss columns and confirmed-only empty state text
2026-08-28T15:29:37.0781581Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:37.0811351Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:37.0851040Z   at <VTUROOT>
2026-08-28T15:29:37.0894458Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:37.0911112Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:37.0914236Z   at <VTUROOT>
2026-08-28T15:29:37.0931267Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:37.0951259Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:37.0970972Z   at <VTUROOT>
2026-08-28T15:29:37.0990612Z 
2026-08-28T15:29:37.7563409Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders effective expenses with Geldfluss columns and confirmed-only empty state text
2026-08-28T15:29:37.7591464Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:37.7611001Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:37.7631033Z   at <VTUROOT>
2026-08-28T15:29:37.7641138Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:37.7659269Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:37.7680922Z   at <VTUROOT>
2026-08-28T15:29:37.7701191Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:37.7711102Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:37.7733480Z   at <VTUROOT>
2026-08-28T15:29:37.7750666Z 
2026-08-28T15:29:38.7203258Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders transfer review explanations including True Wealth target and non-budget effect
2026-08-28T15:29:38.7205552Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:38.7241212Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:38.7280906Z   at <VTUROOT>
2026-08-28T15:29:38.7301252Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:38.7321063Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:38.7361010Z   at <VTUROOT>
2026-08-28T15:29:38.7380877Z 
2026-08-28T15:29:39.4104058Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders transfer list with from/to accounts
2026-08-28T15:29:39.4151685Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:39.4421899Z   at <HouseholdTabs> 
2026-08-28T15:29:39.4441066Z   at <BudgetTransfersPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:39.4732100Z   at <VTUROOT>
2026-08-28T15:29:39.4742070Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:39.4932703Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:39.5117019Z   at <HouseholdTabs> 
2026-08-28T15:29:39.5292223Z   at <BudgetTransfersPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:39.5541610Z   at <VTUROOT>
2026-08-28T15:29:39.5560777Z 
2026-08-28T15:29:39.6069684Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mcentral help text covers purpose actions exclusions and opens from app shell
2026-08-28T15:29:39.6072501Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:39.6299353Z   at <AppLayout ref="VTU_COMPONENT" > 
2026-08-28T15:29:39.6301650Z  [32m✓[39m src/pages/BudgetWorkflowHelpUx.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 3876[2mms[22m[39m
2026-08-28T15:29:39.6302795Z   at <VTUROOT>
2026-08-28T15:29:39.6304005Z      [33m[2m✓[22m[39m keeps the household sidebar consolidated without duplicate child menus [33m 364[2mms[22m[39m
2026-08-28T15:29:39.6540979Z 
2026-08-28T15:29:39.6542703Z      [33m[2m✓[22m[39m renders effective expenses with Geldfluss columns and confirmed-only empty state text [33m 1745[2mms[22m[39m
2026-08-28T15:29:39.6692480Z      [33m[2m✓[22m[39m renders transfer review explanations including True Wealth target and non-budget effect [33m 1103[2mms[22m[39m
2026-08-28T15:29:39.6741573Z      [33m[2m✓[22m[39m renders transfer list with from/to accounts [33m 512[2mms[22m[39m
2026-08-28T15:29:40.0803325Z  [32m✓[39m src/pages/EquityPageHotfix.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 722[2mms[22m[39m
2026-08-28T15:29:40.1073188Z      [33m[2m✓[22m[39m shows separate single equity, TrueWealth and Cash sections without mixing TrueWealth positions [33m 363[2mms[22m[39m
2026-08-28T15:29:42.2278961Z [90mstderr[2m | src/pages/BudgetRecurringPage.test.ts[2m > [22m[2mBudgetRecurringPage Sprint 17D[2m > [22m[2mshows editable candidate semantics and one understandable notice card without raw confidence
2026-08-28T15:29:42.2301397Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:42.2320951Z   at <HouseholdTabs> 
2026-08-28T15:29:42.2341037Z   at <BudgetRecurringPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:42.2341734Z   at <VTUROOT>
2026-08-28T15:29:42.2360761Z 
2026-08-28T15:29:42.4418312Z [90mstderr[2m | src/pages/BudgetRecurringPage.test.ts[2m > [22m[2mBudgetRecurringPage Sprint 17D[2m > [22m[2mrecalculates edited cadence immediately and keeps preview separate from confirm
2026-08-28T15:29:42.4441443Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:42.4460914Z   at <HouseholdTabs> 
2026-08-28T15:29:42.4481067Z   at <BudgetRecurringPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:42.4481846Z   at <VTUROOT>
2026-08-28T15:29:42.4500807Z 
2026-08-28T15:29:42.4841559Z  [32m✓[39m src/pages/BudgetRecurringPage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 655[2mms[22m[39m
2026-08-28T15:29:42.4843895Z      [33m[2m✓[22m[39m shows editable candidate semantics and one understandable notice card without raw confidence [33m 462[2mms[22m[39m
2026-08-28T15:29:42.9407023Z  [32m✓[39m src/components/wealth/WealthDevelopmentChart.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 670[2mms[22m[39m
2026-08-28T15:29:42.9418977Z      [33m[2m✓[22m[39m keeps history solid and dashes only points after the confirmed anchor [33m 323[2mms[22m[39m
2026-08-28T15:29:45.6155670Z  [32m✓[39m src/pages/GroceryMatchingLearningV2.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 517[2mms[22m[39m
2026-08-28T15:29:45.6157901Z      [33m[2m✓[22m[39m shows known mappings, cache status and review actions [33m 332[2mms[22m[39m
2026-08-28T15:29:45.9130721Z  [32m✓[39m src/pages/GlobalPrimeVueMigration.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 536[2mms[22m[39m
2026-08-28T15:29:45.9191897Z      [33m[2m✓[22m[39m provides reusable shared PrimeVue UI building blocks [33m 524[2mms[22m[39m
2026-08-28T15:29:47.7382196Z  [32m✓[39m src/stores/budgetStores.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 17[2mms[22m[39m
2026-08-28T15:29:48.9261130Z  [32m✓[39m src/pages/CommandCenter.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 753[2mms[22m[39m
2026-08-28T15:29:48.9282324Z      [33m[2m✓[22m[39m renders four compact areas, one household forecast hint and grouped review impact [33m 358[2mms[22m[39m
2026-08-28T15:29:51.1632682Z [90mstderr[2m | src/pages/DataExplorerPage.test.ts[2m > [22m[2mDataExplorerPage[2m > [22m[2mrenders filters, KPI cards and confirmed transaction table
2026-08-28T15:29:51.1691916Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:51.1742296Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.1811159Z   at <VTUROOT>
2026-08-28T15:29:51.1844870Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:51.1903482Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.2009306Z   at <VTUROOT>
2026-08-28T15:29:51.2122663Z 
2026-08-28T15:29:51.6591930Z [90mstderr[2m | src/pages/BudgetCategoriesPage.test.ts[2m > [22m[2mBudgetCategoriesPage UX fix[2m > [22m[2mseparates expense and income category tables and hides archived categories from normal rows
2026-08-28T15:29:51.6631593Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:51.6670940Z   at <HouseholdTabs> 
2026-08-28T15:29:51.6700999Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.6730780Z   at <VTUROOT>
2026-08-28T15:29:51.6756713Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:51.6776237Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:51.6821058Z   at <HouseholdTabs> 
2026-08-28T15:29:51.6840991Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.6860890Z   at <VTUROOT>
2026-08-28T15:29:51.6900711Z 
2026-08-28T15:29:51.8612528Z [90mstderr[2m | src/pages/BudgetCategoriesPage.test.ts[2m > [22m[2mBudgetCategoriesPage UX fix[2m > [22m[2msaves expense and income order separately through typed reorder API
2026-08-28T15:29:51.8621865Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:51.8641245Z   at <HouseholdTabs> 
2026-08-28T15:29:51.8675673Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.8690849Z   at <VTUROOT>
2026-08-28T15:29:51.8711061Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:51.8731713Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:51.8732801Z   at <HouseholdTabs> 
2026-08-28T15:29:51.8733334Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.8733877Z   at <VTUROOT>
2026-08-28T15:29:51.8734112Z 
2026-08-28T15:29:51.9755793Z [90mstderr[2m | src/pages/BudgetCategoriesPage.test.ts[2m > [22m[2mBudgetCategoriesPage UX fix[2m > [22m[2mkeeps CRUD actions visible without technical ids and uses preview/confirm/audit APIs
2026-08-28T15:29:51.9771509Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:51.9772261Z   at <HouseholdTabs> 
2026-08-28T15:29:51.9772814Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.9773392Z   at <VTUROOT>
2026-08-28T15:29:51.9773969Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-28T15:29:51.9775344Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-28T15:29:51.9776373Z   at <HouseholdTabs> 
2026-08-28T15:29:51.9776908Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:51.9777478Z   at <VTUROOT>
2026-08-28T15:29:51.9778015Z 
2026-08-28T15:29:51.9983976Z  [32m✓[39m src/pages/BudgetCategoriesPage.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 625[2mms[22m[39m
2026-08-28T15:29:52.0042382Z      [33m[2m✓[22m[39m separates expense and income category tables and hides archived categories from normal rows [33m 327[2mms[22m[39m
2026-08-28T15:29:52.2586271Z [90mstderr[2m | src/pages/DataExplorerPage.test.ts[2m > [22m[2mDataExplorerPage[2m > [22m[2mopens a detail dialog on row click
2026-08-28T15:29:52.2631591Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-28T15:29:52.2671339Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:52.2710884Z   at <VTUROOT>
2026-08-28T15:29:52.2751141Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-28T15:29:52.2781086Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-28T15:29:52.2820947Z   at <VTUROOT>
2026-08-28T15:29:52.2846143Z 
2026-08-28T15:29:52.5432215Z  [32m✓[39m src/pages/DataExplorerPage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 2448[2mms[22m[39m
2026-08-28T15:29:52.5502138Z      [33m[2m✓[22m[39m renders filters, KPI cards and confirmed transaction table [33m 1498[2mms[22m[39m
2026-08-28T15:29:52.5503974Z      [33m[2m✓[22m[39m opens a detail dialog on row click [33m 946[2mms[22m[39m
2026-08-28T15:29:54.9300781Z  [32m✓[39m src/components/wealth/AssetRefreshControl.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 789[2mms[22m[39m
2026-08-28T15:29:54.9371884Z      [33m[2m✓[22m[39m does not start or query a job on mount [33m 415[2mms[22m[39m
2026-08-28T15:29:55.5001399Z  [32m✓[39m src/components/portfolio-data/PortfolioAnalyticsPanel.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 735[2mms[22m[39m
2026-08-28T15:29:55.5082540Z      [33m[2m✓[22m[39m shows risk distribution without a second performance or benchmark source [33m 357[2mms[22m[39m
2026-08-28T15:29:58.0104030Z  [32m✓[39m src/pages/BudgetReviewBacklogPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 820[2mms[22m[39m
2026-08-28T15:29:58.0513435Z      [33m[2m✓[22m[39m renders backlog header, workgroups, safe confirm previews and category assignment [33m 818[2mms[22m[39m
2026-08-28T15:29:58.4481500Z  [32m✓[39m src/components/household/TransactionDetailDrawer.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 579[2mms[22m[39m
2026-08-28T15:29:58.4483760Z      [33m[2m✓[22m[39m stops after an explicit preview and does not confirm automatically [33m 576[2mms[22m[39m
2026-08-28T15:30:00.8115348Z  [32m✓[39m src/pages/GroceryPriceProvidersV1.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 646[2mms[22m[39m
2026-08-28T15:30:00.8117553Z      [33m[2m✓[22m[39m keeps Migros Optimizer route available but not prominent in user navigation [33m 459[2mms[22m[39m
2026-08-28T15:30:01.3006631Z  [32m✓[39m src/pages/BudgetImportPage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 587[2mms[22m[39m
2026-08-28T15:30:01.3009295Z      [33m[2m✓[22m[39m shows dry-run result, enables candidate creation, and builds review link with session filters [33m 330[2mms[22m[39m
2026-08-28T15:30:03.3492302Z  [32m✓[39m src/components/crypto/CryptoReconciliationPanel.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 445[2mms[22m[39m
2026-08-28T15:30:03.3511889Z      [33m[2m✓[22m[39m renders coverage and enforces preview before append-only confirm [33m 443[2mms[22m[39m
2026-08-28T15:30:04.0099503Z  [32m✓[39m src/pages/BudgetMonthlyImportPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 491[2mms[22m[39m
2026-08-28T15:30:04.0106546Z      [33m[2m✓[22m[39m renders dashboard, import history and review transition without auto booking [33m 488[2mms[22m[39m
2026-08-28T15:30:05.8440948Z  [32m✓[39m src/components/SystemControls.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 452[2mms[22m[39m
2026-08-28T15:30:06.7132386Z  [32m✓[39m src/navigation/UserNavigationSmoke.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 266[2mms[22m[39m
2026-08-28T15:30:09.3090917Z  [32m✓[39m src/components/ui/DataQualityBadge.test.ts [2m([22m[2m8 tests[22m[2m)[22m[33m 1158[2mms[22m[39m
2026-08-28T15:30:09.5399444Z  [32m✓[39m src/components/SidebarNav.mobile.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 482[2mms[22m[39m
2026-08-28T15:30:09.5482254Z      [33m[2m✓[22m[39m uses four touch-safe areas plus More and marks the active area [33m 313[2mms[22m[39m
2026-08-28T15:30:12.2242847Z  [32m✓[39m src/components/wealth/PortfolioAnalysisPanel.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 436[2mms[22m[39m
2026-08-28T15:30:12.2249455Z      [33m[2m✓[22m[39m shows policy deviations, concentration, metadata quality and only portfolio-level actions [33m 434[2mms[22m[39m
2026-08-28T15:30:12.5403009Z  [32m✓[39m src/pages/BudgetSetupPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 273[2mms[22m[39m
2026-08-28T15:30:14.9312353Z  [32m✓[39m src/pages/BudgetCategoryAssignmentA11y.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 468[2mms[22m[39m
2026-08-28T15:30:14.9392259Z      [33m[2m✓[22m[39m names candidate selection and supports complete keyboard row activation [33m 463[2mms[22m[39m
2026-08-28T15:30:15.2022494Z  [32m✓[39m src/pages/ReportsPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 330[2mms[22m[39m
2026-08-28T15:30:15.2032051Z      [33m[2m✓[22m[39m renders report type period format preview generate and existing runtime reports [33m 328[2mms[22m[39m
2026-08-28T15:30:17.4836358Z  [32m✓[39m src/components/charts/MarketChart.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 477[2mms[22m[39m
2026-08-28T15:30:17.4838384Z      [33m[2m✓[22m[39m renders a TradingView lightweight chart with range selector and no provider call by itself [33m 353[2mms[22m[39m
2026-08-28T15:30:17.8151808Z  [32m✓[39m src/components/household/HouseholdNavigation.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 295[2mms[22m[39m
2026-08-28T15:30:19.6232307Z  [32m✓[39m src/composables/useQueryFilters.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 65[2mms[22m[39m
2026-08-28T15:30:20.0805014Z  [32m✓[39m src/api/client.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 9[2mms[22m[39m
2026-08-28T15:30:22.4602574Z  [32m✓[39m src/components/ui/AvailabilityState.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 779[2mms[22m[39m
2026-08-28T15:30:23.1482521Z  [32m✓[39m src/components/policy/PolicyAllocationStatus.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 743[2mms[22m[39m
2026-08-28T15:30:25.0643156Z  [32m✓[39m src/App.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 464[2mms[22m[39m
2026-08-28T15:30:25.0687045Z      [33m[2m✓[22m[39m renders the user dashboard shell [33m 461[2mms[22m[39m
2026-08-28T15:30:25.5452383Z  [32m✓[39m src/utils/formatters.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 36[2mms[22m[39m
2026-08-28T15:30:26.5826872Z  [32m✓[39m src/utils/month.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
2026-08-28T15:30:26.5880975Z 
2026-08-28T15:30:26.5892622Z [31m⎯⎯⎯⎯⎯⎯⎯[39m[1m[41m Failed Tests 1 [49m[22m[31m⎯⎯⎯⎯⎯⎯⎯[39m
2026-08-28T15:30:26.5893412Z 
2026-08-28T15:30:26.5895332Z [41m[1m FAIL [22m[49m src/pages/MobileUx.test.ts[2m > [22mVue mobile UX v1[2m > [22mrenders crypto and equity mobile cards with table fallback hidden on small screens
2026-08-28T15:30:26.5897365Z [31m[1mError[22m: Cannot call text on an empty DOMWrapper.[39m
2026-08-28T15:30:26.5899154Z [90m [2m❯[22m Object.get node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:[2m1495:27[22m[39m
2026-08-28T15:30:26.5900969Z [36m [2m❯[22m src/pages/MobileUx.test.ts:[2m84:61[22m[39m
2026-08-28T15:30:26.5931996Z     [90m 82|[39m     [35mconst[39m crypto [33m=[39m [34mmount[39m([33mCryptoPage[39m)
2026-08-28T15:30:26.5933436Z     [90m 83|[39m     [35mawait[39m [34mflushPromises[39m()
2026-08-28T15:30:26.5935032Z     [90m 84|[39m     expect(crypto.find('[data-testid="crypto-mobile-cards"]').text()).…
2026-08-28T15:30:26.5936601Z     [90m   |[39m                                                             [31m^[39m
2026-08-28T15:30:26.5938001Z     [90m 85|[39m     expect(crypto.find('[data-testid="crypto-desktop-table"]').classes…
2026-08-28T15:30:26.5939100Z     [90m 86|[39m
2026-08-28T15:30:26.5939593Z 
2026-08-28T15:30:26.5939700Z 
2026-08-28T15:30:26.5940729Z [31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯[22m[39m
2026-08-28T15:30:26.5941304Z 
2026-08-28T15:30:26.5948246Z [2m Test Files [22m [1m[31m1 failed[39m[22m[2m | [22m[1m[32m56 passed[39m[22m[90m (57)[39m
2026-08-28T15:30:26.5954408Z [2m      Tests [22m [1m[31m1 failed[39m[22m[2m | [22m[1m[32m251 passed[39m[22m[90m (252)[39m
2026-08-28T15:30:26.5956147Z [2m   Start at [22m 15:28:41
2026-08-28T15:30:26.5957736Z [2m   Duration [22m 104.80s[2m (transform 8.56s, setup 24.80s, import 13.37s, tests 71.83s, environment 82.39s)[22m
2026-08-28T15:30:26.5958878Z 
2026-08-28T15:30:26.5976397Z 
2026-08-28T15:30:26.6011822Z ##[error]Error: Cannot call text on an empty DOMWrapper.
 ❯ Object.get node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:1495:27
 ❯ src/pages/MobileUx.test.ts:84:61


2026-08-28T15:30:26.6641379Z ##[error]Process completed with exit code 1.
